1. Field of the Invention
The present invention relates to the field of data and/or video conferencing (DVC) applications. More specifically, the present invention relates to the development and running of these applications.
2. Background Information
As advances in telecommunication and computing technology continue to bring forth more powerful and yet affordable computer conferencing systems, it has become increasingly viable to apply the technology of DVC to a wide range of business problems. For example, the technology can be applied to allow a person in the process of relocating to a new geographic area to preview homes for sale in the new area, under the guidance of a real estate marketing representative in the new area, while the person is still in the old area. As a further example, the technology can also be applied to allow a west coast investor to remotely review the performance data of a number of financial instruments with his/her financial adviser in New York.
Conventional approaches would develop these DVC applications using any number of well known high level programming languages such as COBOL and C, and/or assembly language, employing various software development techniques such as top down design and data flow analysis. However, it will be costly if each of these DVC applications has to provide their own conferencing services, such as connection management functions, conference management functions and audio and video (A/V) services.
Since a general purpose personal conference (GPPC) application is typically incorporated with these conferencing services, it would be a lot more cost effective if DVC applications can be developed and run in a manner allowing them to exploit the conferencing services of a GPPC application, leaving substantially only the special user interfaces tailored for the special customer sets, and the companion logic to be developed.
Additionally, it is further desirable to allow DVC applications to be independently developed under this more cost effective approach, and yet they can cooperate with each other at runtime, even when the independent development led to DVC applications having different levels of capabilities, such as different number of data and file channels supported for performing data and file transfers.
As will be disclosed in more detail below, the methods and apparatus of the present invention achieve these and other desirable results.
A prepackaged object-oriented DVC application programming toolkit (PK) having a number of prepackaged conference control objects is provided for building customized DVC applications. The customized DVC applications are to be incorporated with instances of these prepackaged conference control objects for facilitating accesses to conferencing services of a local GPPC application, thereby alleviating these customized DVC applications from having to provide the conferencing services.
The prepackaged conference control objects of the DVC application PK of the present invention include a Connection Control Object, a Local A/V Control Object, a Remote A/V Control Object, a Data Channel Control Object and a File Channel Control Object.
The Connection Control Object facilitates accesses to connection management functions of the local GPPC application to allow the incorporating local DVC application to connect and manage its connection to a similarly constituted remote DVC application.
The Local A/V. Control Object facilitates accesses to the extended A/V services of the local GPPC application to allow the incorporating local DVC application to manage the capturing of local A/V, their local rendering, and provision to the connected remote DVC application. The Remote A/V Control Object also facilitates accesses to the extended A/V services of the local GPPC application to allow the incorporating local DVC application to manage the receipt of remote A/V signals from the connected remote DVC application, and their local rendering.
The Data Channel Control Object provides data channels and facilitates accesses to the data management functions of the local GPPC application to allow the incorporating local DVC application to manage data transfers to and from the connected remote DVC application. The File Channel Control Object provides file channels and also facilitates accesses to the data management functions of the local GPPC application to allow the incorporating local DVC application to manage file transfers to and from the connected remote DVC application.
In the presently preferred embodiments, these prepackaged conference control objects are implemented using commercially available object-oriented programming products (OOPP). In addition to the standard properties and events provided by the OOPP, each conference control object includes a number of custom properties and/or custom functions for qualifying the kind of functions/services to be facilitated, and a number of custom events for properly notifying the incorporating DVC applications.
In particular, the Data Channel Control Object includes a Data Channel Send as well as a Data Channel Receive function for the incorporating local and connected remote DVC applications to send and receive data from each other, whereas the File Channel Control Object includes an Action property for the incorporating local DVC application to send files to the connected remote DVC application.
Additionally, under the presently preferred embodiments, the conference control objects are designed to complement an interposed runtime synchronizer which automatically synchronizes local and remote A/V rendering as well as data and file channels for data and file transfers between the incorporating local and connected remote DVC applications, thereby relieving the conference control objects from having to individually provide the applicable synchronization and yet the DVC applications are not burdened with the responsibilities.